home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / usr / share / aclocal / lib-link.m4 < prev    next >
Text File  |  2005-07-26  |  23KB  |  554 lines

  1. # lib-link.m4 serial 6 (gettext-0.14.3)
  2. dnl Copyright (C) 2001-2005 Free Software Foundation, Inc.
  3. dnl This file is free software; the Free Software Foundation
  4. dnl gives unlimited permission to copy and/or distribute it,
  5. dnl with or without modifications, as long as this notice is preserved.
  6.  
  7. dnl From Bruno Haible.
  8.  
  9. AC_PREREQ(2.50)
  10.  
  11. dnl AC_LIB_LINKFLAGS(name [, dependencies]) searches for libname and
  12. dnl the libraries corresponding to explicit and implicit dependencies.
  13. dnl Sets and AC_SUBSTs the LIB${NAME} and LTLIB${NAME} variables and
  14. dnl augments the CPPFLAGS variable.
  15. AC_DEFUN([AC_LIB_LINKFLAGS],
  16. [
  17.   AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
  18.   AC_REQUIRE([AC_LIB_RPATH])
  19.   define([Name],[translit([$1],[./-], [___])])
  20.   define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
  21.                                [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
  22.   AC_CACHE_CHECK([how to link with lib[]$1], [ac_cv_lib[]Name[]_libs], [
  23.     AC_LIB_LINKFLAGS_BODY([$1], [$2])
  24.     ac_cv_lib[]Name[]_libs="$LIB[]NAME"
  25.     ac_cv_lib[]Name[]_ltlibs="$LTLIB[]NAME"
  26.     ac_cv_lib[]Name[]_cppflags="$INC[]NAME"
  27.   ])
  28.   LIB[]NAME="$ac_cv_lib[]Name[]_libs"
  29.   LTLIB[]NAME="$ac_cv_lib[]Name[]_ltlibs"
  30.   INC[]NAME="$ac_cv_lib[]Name[]_cppflags"
  31.   AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME)
  32.   AC_SUBST([LIB]NAME)
  33.   AC_SUBST([LTLIB]NAME)
  34.   dnl Also set HAVE_LIB[]NAME so that AC_LIB_HAVE_LINKFLAGS can reuse the
  35.   dnl results of this search when this library appears as a dependency.
  36.   HAVE_LIB[]NAME=yes
  37.   undefine([Name])
  38.   undefine([NAME])
  39. ])
  40.  
  41. dnl AC_LIB_HAVE_LINKFLAGS(name, dependencies, includes, testcode)
  42. dnl searches for libname and the libraries corresponding to explicit and
  43. dnl implicit dependencies, together with the specified include files and
  44. dnl the ability to compile and link the specified testcode. If found, it
  45. dnl sets and AC_SUBSTs HAVE_LIB${NAME}=yes and the LIB${NAME} and
  46. dnl LTLIB${NAME} variables and augments the CPPFLAGS variable, and
  47. dnl #defines HAVE_LIB${NAME} to 1. Otherwise, it sets and AC_SUBSTs
  48. dnl HAVE_LIB${NAME}=no and LIB${NAME} and LTLIB${NAME} to empty.
  49. AC_DEFUN([AC_LIB_HAVE_LINKFLAGS],
  50. [
  51.   AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
  52.   AC_REQUIRE([AC_LIB_RPATH])
  53.   define([Name],[translit([$1],[./-], [___])])
  54.   define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
  55.                                [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
  56.  
  57.   dnl Search for lib[]Name and define LIB[]NAME, LTLIB[]NAME and INC[]NAME
  58.   dnl accordingly.
  59.   AC_LIB_LINKFLAGS_BODY([$1], [$2])
  60.  
  61.   dnl Add $INC[]NAME to CPPFLAGS before performing the following checks,
  62.   dnl because if the user has installed lib[]Name and not disabled its use
  63.   dnl via --without-lib[]Name-prefix, he wants to use it.
  64.   ac_save_CPPFLAGS="$CPPFLAGS"
  65.   AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME)
  66.  
  67.   AC_CACHE_CHECK([for lib[]$1], [ac_cv_lib[]Name], [
  68.     ac_save_LIBS="$LIBS"
  69.     LIBS="$LIBS $LIB[]NAME"
  70.     AC_TRY_LINK([$3], [$4], [ac_cv_lib[]Name=yes], [ac_cv_lib[]Name=no])
  71.     LIBS="$ac_save_LIBS"
  72.   ])
  73.   if test "$ac_cv_lib[]Name" = yes; then
  74.     HAVE_LIB[]NAME=yes
  75.     AC_DEFINE([HAVE_LIB]NAME, 1, [Define if you have the $1 library.])
  76.     AC_MSG_CHECKING([how to link with lib[]$1])
  77.     AC_MSG_RESULT([$LIB[]NAME])
  78.   else
  79.     HAVE_LIB[]NAME=no
  80.     dnl If $LIB[]NAME didn't lead to a usable library, we don't need
  81.     dnl $INC[]NAME either.
  82.     CPPFLAGS="$ac_save_CPPFLAGS"
  83.     LIB[]NAME=
  84.     LTLIB[]NAME=
  85.   fi
  86.   AC_SUBST([HAVE_LIB]NAME)
  87.   AC_SUBST([LIB]NAME)
  88.   AC_SUBST([LTLIB]NAME)
  89.   undefine([Name])
  90.   undefine([NAME])
  91. ])
  92.  
  93. dnl Determine the platform dependent parameters needed to use rpath:
  94. dnl libext, shlibext, hardcode_libdir_flag_spec, hardcode_libdir_separator,
  95. dnl hardcode_direct, hardcode_minus_L.
  96. AC_DEFUN([AC_LIB_RPATH],
  97. [
  98.   dnl Tell automake >= 1.10 to complain if config.rpath is missing.
  99.   m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([config.rpath])])
  100.   AC_REQUIRE([AC_PROG_CC])                dnl we use $CC, $GCC, $LDFLAGS
  101.   AC_REQUIRE([AC_LIB_PROG_LD])            dnl we use $LD, $with_gnu_ld
  102.   AC_REQUIRE([AC_CANONICAL_HOST])         dnl we use $host
  103.   AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT]) dnl we use $ac_aux_dir
  104.   AC_CACHE_CHECK([for shared library run path origin], acl_cv_rpath, [
  105.     CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \
  106.     ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh
  107.     . ./conftest.sh
  108.     rm -f ./conftest.sh
  109.     acl_cv_rpath=done
  110.   ])
  111.   wl="$acl_cv_wl"
  112.   libext="$acl_cv_libext"
  113.   shlibext="$acl_cv_shlibext"
  114.   hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec"
  115.   hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator"
  116.   hardcode_direct="$acl_cv_hardcode_direct"
  117.   hardcode_minus_L="$acl_cv_hardcode_minus_L"
  118.   dnl Determine whether the user wants rpath handling at all.
  119.   AC_ARG_ENABLE(rpath,
  120.     [  --disable-rpath         do not hardcode runtime library paths],
  121.     :, enable_rpath=yes)
  122. ])
  123.  
  124. dnl AC_LIB_LINKFLAGS_BODY(name [, dependencies]) searches for libname and
  125. dnl the libraries corresponding to explicit and implicit dependencies.
  126. dnl Sets the LIB${NAME}, LTLIB${NAME} and INC${NAME} variables.
  127. AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
  128. [
  129.   define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
  130.                                [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
  131.   dnl By default, look in $includedir and $libdir.
  132.   use_additional=yes
  133.   AC_LIB_WITH_FINAL_PREFIX([
  134.     eval additional_includedir=\"$includedir\"
  135.     eval additional_libdir=\"$libdir\"
  136.   ])
  137.   AC_LIB_ARG_WITH([lib$1-prefix],
  138. [  --with-lib$1-prefix[=DIR]  search for lib$1 in DIR/include and DIR/lib
  139.   --without-lib$1-prefix     don't search for lib$1 in includedir and libdir],
  140. [
  141.     if test "X$withval" = "Xno"; then
  142.       use_additional=no
  143.     else
  144.       if test "X$withval" = "X"; then
  145.         AC_LIB_WITH_FINAL_PREFIX([
  146.           eval additional_includedir=\"$includedir\"
  147.           eval additional_libdir=\"$libdir\"
  148.         ])
  149.       else
  150.         additional_includedir="$withval/include"
  151.         additional_libdir="$withval/lib"
  152.       fi
  153.     fi
  154. ])
  155.   dnl Search the library and its dependencies in $additional_libdir and
  156.   dnl $LDFLAGS. Using breadth-first-seach.
  157.   LIB[]NAME=
  158.   LTLIB[]NAME=
  159.   INC[]NAME=
  160.   rpathdirs=
  161.   ltrpathdirs=
  162.   names_already_handled=
  163.   names_next_round='$1 $2'
  164.   while test -n "$names_next_round"; do
  165.     names_this_round="$names_next_round"
  166.     names_next_round=
  167.     for name in $names_this_round; do
  168.       already_handled=
  169.       for n in $names_already_handled; do
  170.         if test "$n" = "$name"; then
  171.           already_handled=yes
  172.           break
  173.         fi
  174.       done
  175.       if test -z "$already_handled"; then
  176.         names_already_handled="$names_already_handled $name"
  177.         dnl See if it was already located by an earlier AC_LIB_LINKFLAGS
  178.         dnl or AC_LIB_HAVE_LINKFLAGS call.
  179.         uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'`
  180.         eval value=\"\$HAVE_LIB$uppername\"
  181.         if test -n "$value"; then
  182.           if test "$value" = yes; then
  183.             eval value=\"\$LIB$uppername\"
  184.             test -z "$value" || LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$value"
  185.             eval value=\"\$LTLIB$uppername\"
  186.             test -z "$value" || LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$value"
  187.           else
  188.             dnl An earlier call to AC_LIB_HAVE_LINKFLAGS has determined
  189.             dnl that this library doesn't exist. So just drop it.
  190.             :
  191.           fi
  192.         else
  193.           dnl Search the library lib$name in $additional_libdir and $LDFLAGS
  194.           dnl and the already constructed $LIBNAME/$LTLIBNAME.
  195.           found_dir=
  196.           found_la=
  197.           found_so=
  198.           found_a=
  199.           if test $use_additional = yes; then
  200.             if test -n "$shlibext" && test -f "$additional_libdir/lib$name.$shlibext"; then
  201.               found_dir="$additional_libdir"
  202.               found_so="$additional_libdir/lib$name.$shlibext"
  203.               if test -f "$additional_libdir/lib$name.la"; then
  204.                 found_la="$additional_libdir/lib$name.la"
  205.               fi
  206.             else
  207.               if test -f "$additional_libdir/lib$name.$libext"; then
  208.                 found_dir="$additional_libdir"
  209.                 found_a="$additional_libdir/lib$name.$libext"
  210.                 if test -f "$additional_libdir/lib$name.la"; then
  211.                   found_la="$additional_libdir/lib$name.la"
  212.                 fi
  213.               fi
  214.             fi
  215.           fi
  216.           if test "X$found_dir" = "X"; then
  217.             for x in $LDFLAGS $LTLIB[]NAME; do
  218.               AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
  219.               case "$x" in
  220.                 -L*)
  221.                   dir=`echo "X$x" | sed -e 's/^X-L//'`
  222.                   if test -n "$shlibext" && test -f "$dir/lib$name.$shlibext"; then
  223.                     found_dir="$dir"
  224.                     found_so="$dir/lib$name.$shlibext"
  225.                     if test -f "$dir/lib$name.la"; then
  226.                       found_la="$dir/lib$name.la"
  227.                     fi
  228.                   else
  229.                     if test -f "$dir/lib$name.$libext"; then
  230.                       found_dir="$dir"
  231.                       found_a="$dir/lib$name.$libext"
  232.                       if test -f "$dir/lib$name.la"; then
  233.                         found_la="$dir/lib$name.la"
  234.                       fi
  235.                     fi
  236.                   fi
  237.                   ;;
  238.               esac
  239.               if test "X$found_dir" != "X"; then
  240.                 break
  241.               fi
  242.             done
  243.           fi
  244.           if test "X$found_dir" != "X"; then
  245.             dnl Found the library.
  246.             LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$found_dir -l$name"
  247.             if test "X$found_so" != "X"; then
  248.               dnl Linking with a shared library. We attempt to hardcode its
  249.               dnl directory into the executable's runpath, unless it's the
  250.               dnl standard /usr/lib.
  251.               if test "$enable_rpath" = no || test "X$found_dir" = "X/usr/lib"; then
  252.                 dnl No hardcoding is needed.
  253.                 LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
  254.               else
  255.                 dnl Use an explicit option to hardcode DIR into the resulting
  256.                 dnl binary.
  257.                 dnl Potentially add DIR to ltrpathdirs.
  258.                 dnl The ltrpathdirs will be appended to $LTLIBNAME at the end.
  259.                 haveit=
  260.                 for x in $ltrpathdirs; do
  261.                   if test "X$x" = "X$found_dir"; then
  262.                     haveit=yes
  263.                     break
  264.                   fi
  265.                 done
  266.                 if test -z "$haveit"; then
  267.                   ltrpathdirs="$ltrpathdirs $found_dir"
  268.                 fi
  269.                 dnl The hardcoding into $LIBNAME is system dependent.
  270.                 if test "$hardcode_direct" = yes; then
  271.                   dnl Using DIR/libNAME.so during linking hardcodes DIR into the
  272.                   dnl resulting binary.
  273.                   LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
  274.                 else
  275.                   if test -n "$hardcode_libdir_flag_spec" && test "$hardcode_minus_L" = no; then
  276.                     dnl Use an explicit option to hardcode DIR into the resulting
  277.                     dnl binary.
  278.                     LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
  279.                     dnl Potentially add DIR to rpathdirs.
  280.                     dnl The rpathdirs will be appended to $LIBNAME at the end.
  281.                     haveit=
  282.                     for x in $rpathdirs; do
  283.                       if test "X$x" = "X$found_dir"; then
  284.                         haveit=yes
  285.                         break
  286.                       fi
  287.                     done
  288.                     if test -z "$haveit"; then
  289.                       rpathdirs="$rpathdirs $found_dir"
  290.                     fi
  291.                   else
  292.                     dnl Rely on "-L$found_dir".
  293.                     dnl But don't add it if it's already contained in the LDFLAGS
  294.                     dnl or the already constructed $LIBNAME
  295.                     haveit=
  296.                     for x in $LDFLAGS $LIB[]NAME; do
  297.                       AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
  298.                       if test "X$x" = "X-L$found_dir"; then
  299.                         haveit=yes
  300.                         break
  301.                       fi
  302.                     done
  303.                     if test -z "$haveit"; then
  304.                       LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir"
  305.                     fi
  306.                     if test "$hardcode_minus_L" != no; then
  307.                       dnl FIXME: Not sure whether we should use
  308.                       dnl "-L$found_dir -l$name" or "-L$found_dir $found_so"
  309.                       dnl here.
  310.                       LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
  311.                     else
  312.                       dnl We cannot use $hardcode_runpath_var and LD_RUN_PATH
  313.                       dnl here, because this doesn't fit in flags passed to the
  314.                       dnl compiler. So give up. No hardcoding. This affects only
  315.                       dnl very old systems.
  316.                       dnl FIXME: Not sure whether we should use
  317.                       dnl "-L$found_dir -l$name" or "-L$found_dir $found_so"
  318.                       dnl here.
  319.                       LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name"
  320.                     fi
  321.                   fi
  322.                 fi
  323.               fi
  324.             else
  325.               if test "X$found_a" != "X"; then
  326.                 dnl Linking with a static library.
  327.                 LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_a"
  328.               else
  329.                 dnl We shouldn't come here, but anyway it's good to have a
  330.                 dnl fallback.
  331.                 LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir -l$name"
  332.               fi
  333.             fi
  334.             dnl Assume the include files are nearby.
  335.             additional_includedir=
  336.             case "$found_dir" in
  337.               */lib | */lib/)
  338.                 basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e 's,/lib/*$,,'`
  339.                 additional_includedir="$basedir/include"
  340.                 ;;
  341.             esac
  342.             if test "X$additional_includedir" != "X"; then
  343.               dnl Potentially add $additional_includedir to $INCNAME.
  344.               dnl But don't add it
  345.               dnl   1. if it's the standard /usr/include,
  346.               dnl   2. if it's /usr/local/include and we are using GCC on Linux,
  347.               dnl   3. if it's already present in $CPPFLAGS or the already
  348.               dnl      constructed $INCNAME,
  349.               dnl   4. if it doesn't exist as a directory.
  350.               if test "X$additional_includedir" != "X/usr/include"; then
  351.                 haveit=
  352.                 if test "X$additional_includedir" = "X/usr/local/include"; then
  353.                   if test -n "$GCC"; then
  354.                     case $host_os in
  355.                       linux* | gnu* | k*bsd*-gnu) haveit=yes;;
  356.                     esac
  357.                   fi
  358.                 fi
  359.                 if test -z "$haveit"; then
  360.                   for x in $CPPFLAGS $INC[]NAME; do
  361.                     AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
  362.                     if test "X$x" = "X-I$additional_includedir"; then
  363.                       haveit=yes
  364.                       break
  365.                     fi
  366.                   done
  367.                   if test -z "$haveit"; then
  368.                     if test -d "$additional_includedir"; then
  369.                       dnl Really add $additional_includedir to $INCNAME.
  370.                       INC[]NAME="${INC[]NAME}${INC[]NAME:+ }-I$additional_includedir"
  371.                     fi
  372.                   fi
  373.                 fi
  374.               fi
  375.             fi
  376.             dnl Look for dependencies.
  377.             if test -n "$found_la"; then
  378.               dnl Read the .la file. It defines the variables
  379.               dnl dlname, library_names, old_library, dependency_libs, current,
  380.               dnl age, revision, installed, dlopen, dlpreopen, libdir.
  381.               save_libdir="$libdir"
  382.               case "$found_la" in
  383.                 */* | *\\*) . "$found_la" ;;
  384.                 *) . "./$found_la" ;;
  385.               esac
  386.               libdir="$save_libdir"
  387.               dnl We use only dependency_libs.
  388.               for dep in $dependency_libs; do
  389.                 case "$dep" in
  390.                   -L*)
  391.                     additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'`
  392.                     dnl Potentially add $additional_libdir to $LIBNAME and $LTLIBNAME.
  393.                     dnl But don't add it
  394.                     dnl   1. if it's the standard /usr/lib,
  395.                     dnl   2. if it's /usr/local/lib and we are using GCC on Linux,
  396.                     dnl   3. if it's already present in $LDFLAGS or the already
  397.                     dnl      constructed $LIBNAME,
  398.                     dnl   4. if it doesn't exist as a directory.
  399.                     if test "X$additional_libdir" != "X/usr/lib"; then
  400.                       haveit=
  401.                       if test "X$additional_libdir" = "X/usr/local/lib"; then
  402.                         if test -n "$GCC"; then
  403.                           case $host_os in
  404.                             linux* | gnu* | k*bsd*-gnu) haveit=yes;;
  405.                           esac
  406.                         fi
  407.                       fi
  408.                       if test -z "$haveit"; then
  409.                         haveit=
  410.                         for x in $LDFLAGS $LIB[]NAME; do
  411.                           AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
  412.                           if test "X$x" = "X-L$additional_libdir"; then
  413.                             haveit=yes
  414.                             break
  415.                           fi
  416.                         done
  417.                         if test -z "$haveit"; then
  418.                           if test -d "$additional_libdir"; then
  419.                             dnl Really add $additional_libdir to $LIBNAME.
  420.                             LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$additional_libdir"
  421.                           fi
  422.                         fi
  423.                         haveit=
  424.                         for x in $LDFLAGS $LTLIB[]NAME; do
  425.                           AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
  426.                           if test "X$x" = "X-L$additional_libdir"; then
  427.                             haveit=yes
  428.                             break
  429.                           fi
  430.                         done
  431.                         if test -z "$haveit"; then
  432.                           if test -d "$additional_libdir"; then
  433.                             dnl Really add $additional_libdir to $LTLIBNAME.
  434.                             LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$additional_libdir"
  435.                           fi
  436.                         fi
  437.                       fi
  438.                     fi
  439.                     ;;
  440.                   -R*)
  441.                     dir=`echo "X$dep" | sed -e 's/^X-R//'`
  442.                     if test "$enable_rpath" != no; then
  443.                       dnl Potentially add DIR to rpathdirs.
  444.                       dnl The rpathdirs will be appended to $LIBNAME at the end.
  445.                       haveit=
  446.                       for x in $rpathdirs; do
  447.                         if test "X$x" = "X$dir"; then
  448.                           haveit=yes
  449.                           break
  450.                         fi
  451.                       done
  452.                       if test -z "$haveit"; then
  453.                         rpathdirs="$rpathdirs $dir"
  454.                       fi
  455.                       dnl Potentially add DIR to ltrpathdirs.
  456.                       dnl The ltrpathdirs will be appended to $LTLIBNAME at the end.
  457.                       haveit=
  458.                       for x in $ltrpathdirs; do
  459.                         if test "X$x" = "X$dir"; then
  460.                           haveit=yes
  461.                           break
  462.                         fi
  463.                       done
  464.                       if test -z "$haveit"; then
  465.                         ltrpathdirs="$ltrpathdirs $dir"
  466.                       fi
  467.                     fi
  468.                     ;;
  469.                   -l*)
  470.                     dnl Handle this in the next round.
  471.                     names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'`
  472.                     ;;
  473.                   *.la)
  474.                     dnl Handle this in the next round. Throw away the .la's
  475.                     dnl directory; it is already contained in a preceding -L
  476.                     dnl option.
  477.                     names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'`
  478.                     ;;
  479.                   *)
  480.                     dnl Most likely an immediate library name.
  481.                     LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$dep"
  482.                     LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$dep"
  483.                     ;;
  484.                 esac
  485.               done
  486.             fi
  487.           else
  488.             dnl Didn't find the library; assume it is in the system directories
  489.             dnl known to the linker and runtime loader. (All the system
  490.             dnl directories known to the linker should also be known to the
  491.             dnl runtime loader, otherwise the system is severely misconfigured.)
  492.             LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name"
  493.             LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-l$name"
  494.           fi
  495.         fi
  496.       fi
  497.     done
  498.   done
  499.   if test "X$rpathdirs" != "X"; then
  500.     if test -n "$hardcode_libdir_separator"; then
  501.       dnl Weird platform: only the last -rpath option counts, the user must
  502.       dnl pass all path elements in one option. We can arrange that for a
  503.       dnl single library, but not when more than one $LIBNAMEs are used.
  504.       alldirs=
  505.       for found_dir in $rpathdirs; do
  506.         alldirs="${alldirs}${alldirs:+$hardcode_libdir_separator}$found_dir"
  507.       done
  508.       dnl Note: hardcode_libdir_flag_spec uses $libdir and $wl.
  509.       acl_save_libdir="$libdir"
  510.       libdir="$alldirs"
  511.       eval flag=\"$hardcode_libdir_flag_spec\"
  512.       libdir="$acl_save_libdir"
  513.       LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag"
  514.     else
  515.       dnl The -rpath options are cumulative.
  516.       for found_dir in $rpathdirs; do
  517.         acl_save_libdir="$libdir"
  518.         libdir="$found_dir"
  519.         eval flag=\"$hardcode_libdir_flag_spec\"
  520.         libdir="$acl_save_libdir"
  521.         LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag"
  522.       done
  523.     fi
  524.   fi
  525.   if test "X$ltrpathdirs" != "X"; then
  526.     dnl When using libtool, the option that works for both libraries and
  527.     dnl executables is -R. The -R options are cumulative.
  528.     for found_dir in $ltrpathdirs; do
  529.       LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-R$found_dir"
  530.     done
  531.   fi
  532. ])
  533.  
  534. dnl AC_LIB_APPENDTOVAR(VAR, CONTENTS) appends the elements of CONTENTS to VAR,
  535. dnl unless already present in VAR.
  536. dnl Works only for CPPFLAGS, not for LIB* variables because that sometimes
  537. dnl contains two or three consecutive elements that belong together.
  538. AC_DEFUN([AC_LIB_APPENDTOVAR],
  539. [
  540.   for element in [$2]; do
  541.     haveit=
  542.     for x in $[$1]; do
  543.       AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
  544.       if test "X$x" = "X$element"; then
  545.         haveit=yes
  546.         break
  547.       fi
  548.     done
  549.     if test -z "$haveit"; then
  550.       [$1]="${[$1]}${[$1]:+ }$element"
  551.     fi
  552.   done
  553. ])
  554.